The invention generally relates to telecommunication networks and more specifically to a method and apparatus for carrying multiple classes of service over a single connection or channel in a connection oriented communications network, for instance an Asynchronous Transfer Mode (ATM) network.
One of the main attractions of ATM is the ability to use ATM networks to carry information for a number of different modes of communication (e.g.telephone, video, Internet) over a single communications network. The basic unit of ATM communication is the 53 byte ATM cell which consists of 5 bytes of header information and 48 bytes of data referred to as the payload. All information is switched and multiplexed in an ATM network in these fixed length cells. The cell headers contain information about the destination of the cell, the types of information in the payload (user data, signalling data, maintenance information), the relative priority of the payload and error checking.
ATM networks are logically constructed of virtual paths (VPs) and virtual channels or connections (VCs). The VPs and VCs are implemented on physical transmission paths but are not necessarily synonymous with the physical links in the network. ATM cell traffic may be managed to create multiple VPs on a single physical transmission path. Likewise, VPs may contain one or more VCs. Switching can be performed at either the transmission path, VP or VC level. The concept of establishing and using VCs and VPs in an ATM network is well known to those skilled in the art of network engineering.
Because it is a recognized goal of ATM to enable multiple modes of communication to use a common network infrastructure, ATM networks must be able to accommodate a variety of service requirements for different communications applications. For example, real-time applications such as telephone communications require a higher level of service than non-real-time applications such as those relating to typical Internet transmissions. It may also be desirable to be capable of distinguishing among different levels of service within each of the real-time and non-real-time categories.
In order to implement different levels of service, typically a different VC for each desired level of service is needed. The level of service of a VC is characterized by, among other parameters, the cell loss ratio corresponding to the ratio of lost cells to transmitted cells. Cells are discarded in an ATM network during traffic congestion when buffers at the nodes of the network become full or near full. Cells transmitted over VCs with higher levels of service are less likely to be discarded than cells transmitted over VCs with lower levels of service.
Within a single VC, the cell loss ratio of individual cells may also be determined according to the priority of the cell. A field called the Cell Loss Priority (CLP) field in the header of the cell indicates whether the cell should be discarded before other cells in the same VC. The CLP field consists of a single bit which is set to a 0 when the cell is of the highest priority and a 1 when the cell has lower priority. Thus, cells with the CLP bit set to 1 are dropped during congested periods before cells with higher priority. This helps to maintain a lower cell loss ratio for the higher priority traffic.
The Internet is one of the many modes of communication which ATM networks can accommodate. The Internet is a network of networks which employs the IP communications protocol and is used for transmitting various forms of non-real-time traffic including text, data, sound and video. The IP protocol is a packet switched protocol which uses variable length headers and variable length payloads. The IP protocol specifies the format for the packet used in IP systems. It is common for IP packets to be much larger than the standard 48 byte ATM cell payload.
In the past, IP supported only one level of service. This and other factors are reasons that the Internet was previously not considered an appropriate medium for real-time communication. The IP protocol provided a bit in the IP packet header for specifying the priority of the packets. The intended function of this bit is similar to the CLP field in ATM cells, however, it has not been the practice to use this bit to specify the priority of the packet, and the bit is now called the xe2x80x9cIn and Out of Profilexe2x80x9d bit. Recently there have been discussions within the standards community of the Internet to increase the number of priority levels for IP packets so that the Internet may be used to accommodate a range of classes of service over the Internet. For example, the Internet Engineering Task Force has discussed the possibility of introducing a three-bit class of service field in the IP header which could be used to specify up to eight classes of service.
Currently a single VC in an ATM network is capable of supporting two levels of service which can be differentiated by the setting of the CLP bit. In the past this was sufficient to share the same VC among various Internet connections together with non-Internet connections where all traffic on the VC was associated with one of two different priorities. This was satisfactory since all Internet traffic would have been undifferentiated. With the advent of more than two classes of service over the Internet it would no longer be possible to carry all classes of Internet traffic over a single VC while maintaining the differentiated classes of service of the Internet traffic.
The requirement to use of multiple VCs for carrying different classes of service reduces the available addressing space for VCs. It will be appreciated that VC addressing space is limited in an ATM network by the size of the Virtual Channel Identifier (VCI) field in the ATM cell header. The VCI field is 16 bits, allowing for the identification of 65,536 separate VCs. The Internet and IP networks are connectionless communications networks which employ mesh networks which provide multiple alternate paths for routing traffic. When IP networks are provisioned using ATM, the implementation of the mesh topology tends to require a large number of VCs which places significant demands on VC address space in the ATM network. The accommodation of additional classes of service would place additional strains on the limited VC addressing space.
It is an object of this invention to provide a method and apparatus for allowing more than two classes of service to be carried on a single connection in a communications network. It is a further object of the present invention to provide a method and apparatus for allowing more than two classes of service to be carried on a single VC in an ATM network. It is a yet further object of this invention to provide a method for supporting IP classes of service over fewer VCs. In this disclosure, the terms class of service and priority are used interchangeably to refer to the relative importance of the traffic in question. Also in this disclosure, the term virtual channel is considered to be equivalent to the term virtual connection.
According to a first broad aspect, the invention provides a method for transmitting traffic associated with different priorities over a single connection in a communications network, including the steps of: (a) transmitting a priority indicator over the connection to a downstream node in the communications network, the downstream node having a queue for queuing traffic received at the downstream node over the connection, the queue being associated with a congestion measure indicative of congestion in the queue and having an adjustable discard range corresponding to traffic carried over the connection, the priority indicator including information for identifying the priority of traffic on the connection, (b) after transmitting the priority indicator, transmitting the traffic over the connection, wherein when the priority indicator is received at the downstream node the discard range is adjusted to correspond to the priority identified in the priority indicator, and when the traffic is subsequently received at the downstream node the traffic is stored in the queue if the congestion measure is outside the discard range and the traffic is discarded if the congestion measure is within the discard range.
According to illustrative embodiments corresponding to the first broad aspect of the present invention, the communications network may be an ATM network and the priority indicator may be a resource management (RM) cell. As well, in another illustrative embodiment thereof, the traffic may be transmitted by an ATM network interface and the method may further include the steps of (i) receiving non-ATM traffic at the ATM network interface, the non-ATM traffic including information indicating the priority of the non-ATM traffic, and (ii) detecting the priority of the non-ATM traffic, wherein the, information in the priority indicator corresponds to the detected priority of the non-ATM traffic.
According to a second broad aspect of the present invention, the invention provides a communications network having a connection for transmitting traffic over the communications network, a network interface associated with the connection and a downstream node. The network interface is for receiving incoming traffic having a particular priority, for transmitting on the connection a priority indicator comprising information identifying the priority of the incoming traffic, and for transmitting the incoming traffic on the connection as network traffic. The downstream node is connected to the network interface by way of the connection and has a queue for queuing network traffic received on the connection at the downstream node. The queue is associated with a congestion measure indicative of congestion in the queue and has an adjustable discard range corresponding to traffic carried over the connection. When the priority indicator is received at the downstream node the discard range is adjusted to correspond to the priority identified in the priority indicator. Network traffic thereafter received at the downstream node is placed in the queue if the congestion measure is outside the discard range and not placed in the queue if the congestion measure is within the discard threshold.
According to a third broad aspect of the present invention, the invention provides an apparatus in a communications network for transmitting traffic associated with one of a plurality of different priorities over a connection to a downstream node having a queue associated with a congestion measure indicative of congestion in the queue. The queue has an adjustable discard range corresponding to traffic carried over the connection. The apparatus has an output port connecting the apparatus to the connection. The apparatus transmits to the downstream node a priority indicator comprising information for identifying the priority of the traffic. The downstream node receives the priority indicator and adjusts the discard range of the queue to correspond to the priority identified in the priority indicator. After the apparatus transmits the priority indicator the apparatus transmits the traffic to the downstream node.
According to a fourth broad aspect of the present invention, the invention provides an apparatus for receiving traffic from a connection in a communications network. The traffic includes network traffic and priority indicators therefor. The apparatus includes a queue for storing cells received on the connection. The queue is associated with a congestion measure indicative of congestion in the queue. The queue has a discard range corresponding to traffic carried over the connection and adjustable to correspond to the priority of the received traffic. Each priority indicator includes information indicating the priority of the network traffic which will be received by the apparatus subsequent to the reception of the priority indicator. The discard range, is adjusted to correspond to the priority identified in the priority indicator when a priority indicator is received by the apparatus. The network traffic is stored in the queue if the congestion measure is outside the discard range, and the network traffic is not stored in the queue if the congestion measure is within the discard range.
According to a fifth broad aspect of the present invention, the invention provides a method for transmitting traffic associated with one of a plurality of different levels of priority over a single connection in an ATM network using ATM cells, each ATM cell having a cell header with a first and a second priority-indicating bit, the method including the steps of (a) in an ATM cell carrying the traffic, setting the first and second priority-indicating bits to values corresponding to the level of priority of the traffic; (b) transmitting the ATM cell over the connection to a downstream node having a queue associated with a congestion measure and having a plurality of discard ranges each corresponding to the different levels of priority; (c) at the downstream node, receiving the ATM cell transmitted over the connection and checking the first and second priority-indicating bits thereof to determine the level of priority of the received ATM cell; and (d) queuing the received ATM cell in the queue if the congestion measure is outside the discard range corresponding to the level of priority of the ATM cell, and discarding the ATM cell if the congestion measure is within the discard range corresponding to the level of priority of the ATM cell.
According to illustrative embodiments corresponding to the fifth broad aspect of the present invention, the first priority-indicating bit may be the Cell Loss Priority (CLP) bit. As well, the fifth priority-indicating bit may be the Explicit Forward Congestion Indication (EFCI) bit where the EFCI bit is not utilized to indicate congestion over the connection. The queue may have a CLP discard threshold associated with a first discard range and an EFCI discard threshold associated with a second discard range, wherein during step (d) the ATM cell is discarded if the CLP bit is set to 1 and the size of the queue is greater than or equal to the CLP discard threshold, and the ATM cell is discarded if the EFCI bit is set to 1 and the size of the queue is greater than or equal to the EFCI discard threshold.
With further reference to illustrative embodiments, the queue according to the fifth broad aspect of the present invention may have first, second and third discard ranges defined by first, second and third discard thresholds, the second discard threshold being greater than the first discard threshold and the third discard threshold being greater than the second discard threshold. The first discard range corresponds to level of priority indicated by both the CLP and EFCI bits being set to 1, with the second discard range corresponding to the level of priority indicated by the CLP bit being set to 1 and the EFCI bit being set to 0, and the third discard range corresponding to the level of priority indicated by the CLP bit being set to 0 and the EFCI bit being set to 1.